package com.quanyan.place.task.tracker;

import com.github.ltsopensource.core.domain.Action;
import com.github.ltsopensource.tasktracker.Result;
import com.github.ltsopensource.tasktracker.logger.BizLogger;
import com.github.ltsopensource.tasktracker.runner.JobContext;
import com.github.ltsopensource.tasktracker.runner.JobRunner;
import com.github.ltsopensource.tasktracker.runner.LtsLoggerFactory;
import com.quanyan.place.service.PlaceInnerService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Created by Administrator on 2016/6/29.
 */
@Component("jobRunnerPlacePeriodSeaArea")
public class JobRunnerPlacePeriodSeaArea implements JobRunner{

    private static final Logger LOGGER = LoggerFactory.getLogger(JobRunnerPlacePeriodSeaArea.class);
    @Autowired
     PlaceInnerService placeService;


    @Override
    public Result run(JobContext jobContext) throws Throwable {
        try {
            //TODO  执行业务逻辑
            placeService.updateStatus();
            // 会发送到 LTS (JobTracker上)
            BizLogger bizLogger = LtsLoggerFactory.getBizLogger();
            bizLogger.info("场馆私海公海状态变更任务执行成功。");
        } catch (Exception e) {
            LOGGER.info("Run job failed!", e);
            return new Result(Action.EXECUTE_LATER, "场馆私海公海状态变更任务执行失败，"+e.getMessage());
        }
        return new Result(Action.EXECUTE_SUCCESS, "场馆私海公海状态变更任务执行成功。");
    }
}
